
# replace.fig-- insert edited lines
# Copyright (C) 2021 mn
#
# This program is free software: you can redistribute it and/or modify 
#
# it under the terms of the GNU Affero General Public License as published by 
# the Free Software Foundation, either version 3 of the License, or 
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, 
# but WITHOUT ANY WARRANTY; without even the implied warranty of 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License 
# along with this program. If not, see <http://www.gnu.org/licenses/>.

function vget g k
python
    return g[k]
    fig
    fig

function vset g k v
python
    g[k] = v
    return g
    fig
    fig

function replace buf params
    glen    vget params "g" ltrim     len
    tlen    ".replace" len  times -1  plus glen   minus 1
    gt      vget params "g" ltrim     right tlen  split gt "|"
    rfrom gt  mid 1 1
    rto   gt  mid 2 1
    pad arr mid 1 0
    pad vget params "g" arr
    forin each buf
        reach split each rfrom  join reach rto
        pad plus reach
        next
    iftrue pad
        now vset params "pad" pad
        params now return params
        fig
    fig

